package com.example.himalaya.view.callback;

import com.ximalaya.ting.android.opensdk.model.album.Album;
import com.ximalaya.ting.android.opensdk.model.album.Announcer;
import com.ximalaya.ting.android.opensdk.model.track.Track;
import com.ximalaya.ting.android.opensdk.model.word.HotWord;
import com.ximalaya.ting.android.opensdk.model.word.QueryResult;

import java.util.List;

public interface ISearchViewCallBack {

    /**
     * 搜索结果的回调方法
     *
     * @param result 搜索结果
     */
    void onSearchAlbumLoaded(List<Album> result);

    void onSearchTrackLoaded(List<Track> result);


    void onSearchAnnouncerLoaded(List<Announcer> result);

    /**
     * 获取推荐热词的结果的回调方法
     *
     * @param hotWordList 热词列表
     */
    void onHotWorldLoaded(List<HotWord> hotWordList);


    /**
     * 加载更多专辑的结果回调
     *
     * @param result 结果
     * @param isOkay true 加载更多成功 false 失败了 或者 没有更多
     */
    void onLoadMoreAlbumResult(List<Album> result, boolean isOkay);

    void onLoadMoreAnnouncerResult(List<Announcer> result, boolean isOkay);


    /**
     * 加载更多专辑的结果回调
     *
     * @param result 结果
     * @param isOkay true 加载更多成功 false 失败了 或者 没有更多
     */
    void onLoadMoreTrackResult(List<Track> result, boolean isOkay);


    /**
     * 联想关键字的结果的回调
     *
     * @param keyWordList 联想关键字列表
     */
    void onRecommendWorldLoaded(List<QueryResult> keyWordList);


    /**
     * 错误接口
     *
     * @param errorCode 错误码
     * @param errorMsg  错误信息
     */
    void onError(int errorCode, String errorMsg);
}

